﻿using System;
using Raven.Client;
using Raven.Client.Embedded;

namespace TodoApp.Models
{
    public class DataDocumentStore
    {
        private static IDocumentStore documentStore;

        public static IDocumentStore DocumentStore
        {
            get
            {
                if (documentStore == null)
                {
                    throw new InvalidOperationException("IDocumentStore has not been initialized.");
                }

                return documentStore;
            }
        }

        public static IDocumentStore Initialize()
        {
            documentStore = new EmbeddableDocumentStore { ConnectionStringName = "RavenDB" };
            documentStore.Conventions.IdentityPartsSeparator = "-";

            documentStore.Initialize();

            return documentStore;
        }
    }
}